【发布时间】:2021-05-04 14:34:57
【问题描述】:
我在尝试创建用户友好的 URL 时遇到以下问题,它返回 500 错误。
没用
RewriteEngine On
RewriteRule ^page/(.+)$ /page.php?type=$1 [L]
只有在我更改脚本名称时才能使用这个
RewriteRule ^page/(.+)$ /change-page.php?type=$1 [L]
有什么方法可以保留重定向到页面的 page.php 吗?谢谢
这里是完整的 .htaccess 配置
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
# For LocalHost !.php
RewriteCond %{HTTP_HOST} !=localhost
RewriteCond %{HTTP_HOST} !=127.0.0.1
RewriteCond %{REMOTE_ADDR} !=127.0.0.1
RewriteCond %{REMOTE_ADDR} !=::1
## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R=302,L]
# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]
RewriteRule ^page/(.+)$ /page.php?type=$1 [L]
【问题讨论】:
-
您能否检查您的 Apache error.log 文件是否存在 500 错误。同时发布您有问题的完整 .htaccess
-
感谢您的建议。我正在使用 OpenServer 并检查了 Apache 日志,它只显示 500 - 662 错误。您可以看到完整的 .htaccess 配置。
标签: apache .htaccess mod-rewrite url-rewriting friendly-url