por plugin permalink htaccess generar defecto create como wordpress .htaccess mod-rewrite

plugin - .htaccess y Wordpress: excluir carpeta de RewriteRule



permalink wordpress (12)

.htaccess afecta a todos los directorios que se encuentran debajo, de modo que si coloca un .htaccess en csNewsAd con las directivas de reescritura que desea, prevalecerá sobre el archivo raíz.

Tengo este archivo .htaccess en Wordpress. Está ubicado en / public_html / (raíz web). Necesito excluir una carpeta (csNewsAd) del motor de reescritura. Intenté esto, basado en otra pregunta similar aquí en SO, pero no funcionó en absoluto.

AddHandler x-httpd-php5 .php # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^/csNewsAd($|/) - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress

¿Alguna sugerencia?

Más datos

Hay otro .htaccess dentro / csNewsAd para la protección con contraseña:

AuthName "Clasificados" AuthType "basic" AuthUserFile /home/ig000192/public_html/csNewsAd/.passwd Require valid-user


podrías agregar algo como esto:

RewriteCond %{REQUEST_URI} !^/csNewsAd

pero esto no debería ser necesario, porque si csNewsAd de hecho es un directorio (carpeta) no debería ser reescrito en primer lugar debido a

RewriteCond %{REQUEST_FILENAME} !-d

¿Estás seguro de que no hay nada más entre usted y esa carpeta, derechos o (de hecho) otro .htaccess?


Si está utilizando mod_rewrite en un archivo .htaccess, solo necesita especificar la ruta URL sin el prefijo de ruta local en sus patrones. En su caso sin el / encabezado como está en el documento raíz / ):

RewriteRule ^csNewsAd($|/) - [L]


Primero comencé a hacer esto con Rails. En la parte superior de los rieles .htaccess están las siguientes dos líneas.

# RewriteCond %{REQUEST_URI} ^/notrails.* # RewriteRule .* – [L]

Cuando finalmente seguí su ejemplo, funcionó.

Quería excluir imágenes, javascripts, hojas de estilo, css, images-global, js-global (etc.), así que cambié lo anterior a.

RewriteCond %{REQUEST_URI} ^(images|javascripts|stylesheets|css|images-globa|js-global|js).* RewriteRule .* – [L]

Y funcionó de la manera que necesitaba.

No hablaremos de cómo es que tengo tantas carpetas distintas de javascript, hojas de estilo e imágenes ...

Pero esto hace que mi archivo de "error" sea menos doloroso. Si alguien agrega un archivo de imagen que no existe, mi envío no tiene que procesarlo.


Estaba teniendo el mismo problema y encontré la respuesta a mi problema aquí: http://kb.siteground.com/article/How_to_exclude_a_folder_from_Wordpress_permalinks.html

--Desde el sitio

Para excluir las subcarpetas de las reglas de reescritura de WordPress, debe editar el archivo .htaccess y cambiar la línea en negrita a continuación:

# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # RewriteRule . /index.php [L] # Original line RewriteRule ./ /index.php [L] # New line </IfModule> # END WordPress


Deberías probar este

# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^/(gadget)/(.*) /gadget/$2 [R] RewriteRule ^index/.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress


Estoy bastante seguro de que ya ha descartado esto, pero desde que vine aquí por el mismo problema exacto, quería compartirlo con usted: en mi caso, el problema estaba en los permisos de: aparentemente, no poder acceder la carpeta, la exclusión estaba siendo ignorada.


Coloque la línea a continuación en el archivo .htaccess en la raíz.

ErrorDocument 401 default

Tenía exactamente el mismo problema y esto funcionó para mí. No es el problema que las redirecciones no funcionan. El problema es que el error 401 (Autorización requerida) no está definido, por lo que la "ventana emergente" no se muestra.



Tengo GoDaddy hosting, y este problema me mató . Tuve los mismos problemas una y otra vez con opciones conflictivas de .htaccess en public_html, con mi subdirectorio protegido con contraseña.

Terminé comprando otra cuenta porque probé alrededor de un millón de modificaciones diferentes en mi archivo .htaccess y no he solucionado este problema. Estoy compartiendo mi configuración y solución, ahora, solo por integridad y claridad. (Para que lo sepas, la cuenta valió la pena de todos modos, así que no hay problema).

Si parece una combinación de las respuestas de los demás, es porque sí lo es. Tardó TODO eso en funcionar.

Estructura de directorios:

-otherfiles ---public_html ---.htaccess -----subfolder ---.htaccess

La subcarpeta .htaccess tiene la contraseña de la función de protección, por lo que es similar a esto:

AuthType Basic AuthName "Attendance" AuthUserFile "/home/user/.htpasswds/public_html/attendance/passwd" require valid-user

El public_html .htaccess originalmente tenía esto, y no funcionaba (en el sentido de que se tragaba TODO y lo redirigía, de modo que FatFreeFramework o CodeIgniter lo estaba manejando):

RewriteEngine On RewriteCond $1 !^(index.php|resources|subfolder|robots.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^(.*)$ index.php?/$1 [L,QSA]

Para solucionar este problema, agregué dos líneas a mi archivo public_html .htaccess. Y para que no adivine dónde, mostraré todo el archivo nuevamente:

RewriteEngine On RewriteCond $1 !^(index.php|resources|robots.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteCond %{REQUEST_URI} !^/(subfolder|subfolder/.*)$ ErrorDocument 401 default RewriteRule ^(.*)$ index.php?/$1 [L,QSA]

Entonces, esa es mi historia. Ahora funciona. ¡Gracias a Jory y GmonC! Yo los voté a ustedes arriba.


Aquí está mi solución con respecto al sitio de GoDaddy WordPress. Mi instalación tenía un archivo web.config, así que agregué una regla de reescritura. Quería una ruta / ApiData donde pudiera ejecutar una aplicación MVC.net (directorio virtual) para llamadas AJAX.

<system.webServer> <!-- ... --> <rewrite> <rules> <rule name="apidata" stopProcessing="true"> <match url="apidata"/> </rule> <rule name="wordpress" patternSyntax="Wildcard"> <match url="*"/> <conditions> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/> </conditions> <action type="Rewrite" url="index.php"/> </rule> </rules> </rewrite> </system.webServer>


RewriteCond %{REQUEST_URI} !^/(csNewsAd|csNewsAd/.*)$

en lugar de

RewriteRule ^/csNewsAd($|/) - [L]