所以我有这个.htaccess为我重写了一个URL,它一直没有工作。
如果我选中var/logs/apache2/error_log
,它会显示:-
[[Sun Jul 16 18:22:28.958099 2017] [core:alert] [pid 4237] [client ::1:54344] /Library/WebServer/Documents/getcv/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
我甚至在httpd.conf中启用了rewrite_module
LoadModule request_module libexec/apache2/mod_request.so
LoadModule include_module libexec/apache2/mod_include.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule filter_module libexec/apache2/mod_filter.so
这里是**.htaccess**
Options +FollowSymLinks
RewriteEngine On
RewriteBase /foldername/
RewriteCond %{THE_REQUEST} /my_profile\.php\?username=([^\s&]+) [NC]
RewriteRule ^ %1? [R=301,L,NE]
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^([\w-]+)/?$ my_profile.php?username=$1 [L,QSA]
2条答案
按热度按时间pw9qyyiw1#
我知道这个问题已经有一年了,但我也遇到了这个问题,并在寻找答案时遇到了这个问题。
我在这里找到了答案:
https://www.digitalocean.com/community/tutorials/how-to-rewrite-urls-with-mod_rewrite-for-apache-on-ubuntu-16-04
在我的例子中,我做了以下操作(我运行Ubuntu 16.x.x)
1.已编辑
/etc/apache2/apache2.conf
-我已添加1.在
/var/www/html/api/.htaccess
中,我添加了请注意,
api404.php
只是我自己的自定义404页面,以向访问者提供一个自定义/受控消息来代替标准输出。1.然后,如上面链接中所述,我通过运行以下命令启用了module_override:
完成上述步骤后,我的URI
https://api.example.com/rfq/new
重定向到我的index.php
脚本,我能够按预期处理URI的解析。wixjitnu2#
此超级用户命令行启用Apache2中的mod重写
a2enmod重写