mod_rewrite 的问题

发布于 2024-12-13 15:24:21 字数 269 浏览 0 评论 0原文

这是我的 htaccess 文件:

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*) url.php?p=$1 [NC]

我试图像这样重定向: mysite.com/sometext 到 mysite.com/url.php?p=sometext

但是使用该文件,浏览器总是给我一个错误; 内部服务器错误,服务器遇到内部错误或配置错误,无法完成您的请求。

this is my htaccess file:

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*) url.php?p=$1 [NC]

Im trying to redirect like this: mysite.com/sometext to mysite.com/url.php?p=sometext

But with that file the browser gives me always an error; Internal Server Error, The server encountered an internal error or misconfiguration and was unable to complete your request.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

旧人九事 2024-12-20 15:24:21

尝试添加一些条件以防止 mod_rewrite 永远在内部循环:

RewriteCond %{REQUEST_URI} !^/url.php

或者:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule 之前

Try adding some conditions to keep mod_rewrite from looping internally forever:

RewriteCond %{REQUEST_URI} !^/url.php

Or:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

Right before the RewriteRule

椵侞 2024-12-20 15:24:21

以下应该有效。 “L”确保它将是最后重写规则,这应该防止循环。

RewriteRule ^/(.*)$ https://mysite.com/url.php?p=$1 [NC,R,L]

这个也可能有效(需要尝试一下)

RewriteRule ^/(.*)$ url.php?p=$1 [NC,L]

The following should work. The "L" ensures that it will be last rewrite rule, which should prevent the loop.

RewriteRule ^/(.*)$ https://mysite.com/url.php?p=$1 [NC,R,L]

This one might work too (will need to try it out)

RewriteRule ^/(.*)$ url.php?p=$1 [NC,L]

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文