我正在尝试执行网址重写,但却给了我500内部服务器错误
我有一个index.php
文件,可以使用我称之为cmd
的参数,因此网址应如下所示:
http://localhost/some_folder/index.php?cmd=some_parameter
我想要实现的目的是允许用户只输入以下任何内容:
http://localhost/some_folder/some_parameter
OR
http://localhost/some_folder/index/some_parameter
这是我的.htaccess
文件:
RewriteEngine On # Turn on the rewriting engine
RewriteRule ^index.php/?$ index.php?cmd=shifts [NC,L]
我也尝试过:
Options +FollowSymLinks
RewriteEngine on
RewriteRule /cmd/(.*)/ index.php?cmd=$1
我不知道我在这里做错了什么!
答案 0 :(得分:1)
我发现此错误无效命令'RewriteEngine',可能拼写错误或由服务器配置中未包含的模块定义
您需要加载mod_rewrite。有关如何修复的详细信息,请参阅this answer。
答案 1 :(得分:0)
经过大量的互联网搜索,特别是stackoverflow,我找到了一个解决方案(不是我想要的,但它现在正在工作,直到我找到另一个更适合我的需求。
这是我目前正在使用的.htaccess
(实际上我使用2个文件,因为每个文件夹/子文件夹都有不同的参数):
Options +FollowSymLinks
RewriteEngine on
RewriteBase /rootFolder # In the sub-folder I type /rootFolder/subFolder
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule /cmd/(.*)/ index.php?R=$1 # In the sub-folder I type index.php?cmd=$1
现在我使用网址http://localhost/rootFolder/index/R/xxx-1234
和http://localhost/rootFolder/admin/index/cmd/xxx
我需要做的是删除网址的index
部分。