Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 如何使用htaccess优化我的URL_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Apache 如何使用htaccess优化我的URL

Apache 如何使用htaccess优化我的URL,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我有一个只包含两个文件的网站。第一个文件是index.php,第二个文件是index_el.php 我想做的是强制这两个文件可以通过重写的url访问 更具体地说,我喜欢有人输入urlhttp://www.site.ext/index.php在http://www.site.ext/当有人输入url时http://www.site.ext/index_el.php在http://www.site.ext/el 目前我有以下代码: RewriteEngine On RewriteCond %{QU

我有一个只包含两个文件的网站。第一个文件是
index.php
,第二个文件是
index_el.php

我想做的是强制这两个文件可以通过重写的url访问

更具体地说,我喜欢有人输入url
http://www.site.ext/index.php
http://www.site.ext/
当有人输入url时
http://www.site.ext/index_el.php
http://www.site.ext/el

目前我有以下代码:

RewriteEngine On

RewriteCond %{QUERY_STRING}  ^$
RewriteRule ^index_el\.php$ /el/? [R=301,NE,NC,L]

RewriteCond %{QUERY_STRING}  ^$
RewriteRule ^index\.php$ /? [R=301,NE,NC,L]
但是,当
index.php
将用户重定向到
/
时,
index.php
将用户重定向到
/el/
上,服务器返回一个
404
错误


有人能帮我吗?

你可以使用以下规则:

RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+(?:index_?)?(.*?)\.php[\s?] [NC]
RewriteRule ^index /%1 [R=301,L,NE,NC]

RewriteRule ^el/? /index_el.php [L,NC]

酷。非常感谢@anubhava:)